import logging
import os
from logging.handlers import TimedRotatingFileHandler
from pathlib import Path
from dotenv import load_dotenv
load_dotenv()
LOG_DIR = Path("logs")
LOG_DIR.mkdir(exist_ok=True)

# 创建日志记录器
main_logger = logging.getLogger()
main_logger.setLevel(logging.INFO)

# 创建TimedRotatingFileHandler，每天生成新文件
file_handler = TimedRotatingFileHandler(
    filename=f"{LOG_DIR}/app.log",
    when="midnight",  # 每天午夜切换
    interval=1,  # 间隔1天
    backupCount=30,  # 保留30天的日志文件
    encoding="utf-8",
)

# 设置日志格式
formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")
file_handler.setFormatter(formatter)

# 添加处理器到日志记录器
main_logger.addHandler(file_handler)
# 控制台日志
console = logging.StreamHandler()
console.setLevel(logging.INFO)
console.setFormatter(formatter)
main_logger.addHandler(console)
